//
// Created by Administrator on 2021/3/1.
//
#include <string.h>
#include "console_ui.h"
#include "uni_test_ui.h"
#include "gtk_ui.h"

int main(int argc/*程序运行时接受的参数数量,它本身就算一个,也就是至少就为1*/, char *argv[]/*接受的字符串参数们*/) {
  if (argc > 1){
    /*strcasecmp
    strcasecmp用忽略大小写比较字符串，通过strcasecmp函数可以指定每个字符串用于比较的字符数，strncasecmp用来比较参数s1和s2字符串前n个字符，比较时会自动忽略大小写的差异。
    strcasecmp函数是二进制且对大小写不敏感。此函数只在Linux中提供，相当于windows平台的 stricmp。
    返回值 若参数s1和s2字符串相等则返回0。s1大于s2则返回大于0 的值，s1 小于s2 则返回小于0的值。*/
    if (strcasecmp(argv[1], "console") == 0) {
      return RunConsoleUI(argc, argv);
    }else if (strcasecmp(argv[1],"unit")==0){
      return RunUnitTest(argc, argv);
    }
  }

  return RunGTKUI(argc, argv);
}

/*基本实现计算器,有三种启动方式

1.默认为gtk图形界面
2.输入参数console,则是以命令行窗口的形式
3.输入参数unit,会进行单元测试*/
